"""
演示while循环的基础应用
"""
#
# i = 0
# while i < 100:
#     print("xigh")
#     i += 1
#
# # 练习求1-100的和
# sum = 0
# i = 1
# while i <= 100:
#     sum += i
#     i += 1
# print(f"1-100累加的和是：{sum}")
# # 演示猜数字
#
# import random
# num = random.randint(1, 100)
# # 定义一个变量， 记录总共猜了多少次
# count = 0
#
# # 通过一个布尔类型的变量，做循环是否继续的标记
# flag = True
# while flag:
#     guess_num = int(input("请输入你猜测的数字："))
#     count += 1
#     if guess_num == num:
#         print("猜中了")
#         # 设置为False就是终止循环的条件
#         flag = False
#     else:
#         if guess_num > num:
#             print("你猜的大了")
#         else:
#             print("你猜的小了")
#
# print(f"你总共猜了{count}次")
#
"""
演示while循环的嵌套使用
"""
# # 外层：表白100天的控制
# # 内层：每天的表白都送10只玫瑰花的控制
#
# i = 1
# while i <= 100:
#     print(f"今天是第{i}天，准备表白......")
#
#     # 内层循环控制变量
#     j = 1
#     while j <= 1:
#         print(f"送给小美第{j}只玫瑰花")
#         j += 1
#     print("小美，我喜欢你")
#     i += 1
#
# print(f"坚持到第{i-1}天，表白成功")

# while循环的嵌套案例 && print输出不换行

# # 加上end=''，代表不换行
# print("hello", end='')
# print("world", end='')

# # \t制表符
# print("hello\tworld")
# print("itheima\tbest")
#
#
# """
# 演示使用while的嵌套循环
# 打印输出九九乘法表
# """
#
# # 定义外层循环变量
# i = 1
# while i <= 9:
#
#     # 定义内层循环的控制变量
#     j = 1
#     while j <= i:
#         # 内层循环的print语句，不要换行，通过\t制表符进行对齐
#         print(f"{j} * {i} = {j * i}\t", end='')
#         j += 1
#     print("\n")
#     # 或者直接print(),打印空内容代表换行
#     i += 1
#
# print("打印完成")
#
#
"""
演示for循环的基础语法
"""
#
# name = "itheima"
#
# for x in name:
#     # 将name的内容，挨个取出赋予x临时变量
#     # 就可以在循环体内对x进行处理
#     print(x)
#
# # 练习：数一数字母a的个数
# name = "itheima is a brand of itcase"
# count = 0
# for x in name:
#     if x == 'a':
#         count += 1
# print(f"被统计的字符串中有{count}个a")
#
"""
 演示Python中的range()语句的基本使用
"""
#
# # range语法1 range(num)
# for x in range(10):
#     print(x) # 打印0到9
#
# # range语法2 range(num1,num2)
# for x in range(5, 10):
#     # 从5开始，到10结束（不包含10本身）的一个数字序列，数字之间间隔是1
#     print(x) # 打印5到9
#
# # range语法3 range(num1,num2,step)
# for x in range(5, 10, 2):
#     # 从5开始，到10结束（不包含10本身）的一个数字序列，数字之间的间隔是2
#     print(x)
#
# # 与上个while案例一样，循环十次
# for x in range(10):
#     print("送玫瑰花")

# # 有几个偶数
# count = 0
# for x in range(100):
#     if x % 2 == 0:
#         if x:
#             count += 1
# print(count)
#
# # 符合规范
# i = 0
# for i in range(5):
#     print(i)
#
# print(i)


"""
演示嵌套应用for循环
"""

# # 坚持表白100天，每天都送10朵花
# # range
# i = 0
# for i in range(1, 101):
#     print(f"今天是向小美表白的第{i}天，加油坚持。")
#     # 写内层循环了
#     for j in range(1, 11):
#         print(f"给小美送的第{j}朵玫瑰花")
#
#     print("小美我喜欢你")
#
# print(f"第{i}天，表白成功")


"""
演示循环语句中的中断控制：break 和 continue
"""

# # 演示循环中断语句 continue
# for i in range(1, 6):
#     print("语句1")
#     continue
#     print("语句2") # 不会执行

# # 演示continue的嵌套应用
# for i in range(1, 6):
#     print("语句1")
#     for j in range(1, 6):
#         print("语句2")
#         continue
#         print("语句3") # 不会执行
#
#     print("语句4")


# # 演示循环中断语句 break
# for i in range(1, 101):
#     print("语句1：")
#     break
#     print("语句2：")
#
# print("语句3：")


# # 演示break的嵌套应用
# for i in range(1, 6):
#     print("语句1：")
#     for j in range(1, 6):
#         print("语句2：")
#         break
#         print("语句3：")
#
#     print("语句4")


"""
演示循环案例：发工资
"""

# 定义账户余额变量
money = 10000
# for循环对员工发工资
for i in range(1, 21):
    import random
    score = random.randint(1, 10)

    if score < 5:
        print(f"员工{i}绩效分{score}， 不满足， 不发工资， 下一位")
        # continue跳过发放
        continue

    # 要判断余额足不足
    if money >= 1000:
        money -= 1000
        print(f"员工{i}，满足条件发放工资1000，公司账户余额：{money}")
    else:
        print(f"余额不足，当前余额：{money}元，不足以发工资，不发了，下个月再来")
        # break结束发放
        break


"""
for循环打印99乘法表
"""
# 通过外层循环控制行数
for i in range(1, 10):
    # 通过内层循环控制每一行的数据
    for j in range(1, i+1):
        # 在内层循环中输出每一行的内容
        print(f"{j} * {i} = {j * i}\t", end='')

    # 外层循环可以通过print输出一个回车符
    print()

